package 编程能力入门1;

public class _06找到最近的有相同的点 {
    public int nearestValidPoint(int x, int y, int[][] points) {
        // 最小距离,索引
        int min_dis=-1;
        int index = -1;
        // 获取长度
        int n = points.length;

        //遍历数组
        for(int i=0;i<n;i++){
            if(points[i][0] == x || points[i][1] == y){
                // 计算曼哈顿距离(暂存)
                int temp_dis = Math.abs(points[i][0]-x)+Math.abs(points[i][1]-y);
                // 第一次赋值
                if(min_dis==-1){
                    min_dis = temp_dis;
                    index = i;
                }
                // 如果有更小的
                if (temp_dis<min_dis){
                    min_dis = temp_dis;
                    index = i;
                }
            }
        }

        return index;
    }
}
